home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 1 / Amiga Tools.iso / egs-tools / egs_demo-version / egs_devels / examples / egs_menu / initmenu.c < prev    next >
Text File  |  1994-06-06  |  3KB  |  80 lines

  1. /*
  2. ** Author: Markus van Kempen
  3. ** Date  : 17. Dezember 1992
  4. **
  5. ** Input : EG_EFontPtr = Pointer to a font for the menu
  6. ** Output: EI_MenuPtr  = Pointer to the menu structure
  7. **                       to be assigned to the EI_NewWindow structure
  8. **                       --> "newWindow.menu=menu"
  9. **
  10. ** This is a routine to initialize a menu structure.
  11. ** It calls functions from the egsintui.library.
  12. ** If you want to change the menus, you only
  13. ** have to change this file.
  14. **
  15. **
  16. ** (c) by VIONA-Development 1992/93
  17. **
  18. */
  19.  
  20. EI_MenuPtr        EI_CreateMenu(void);
  21. EI_MenuItemPtr    EI_CreateLeave(void);
  22.  
  23. EI_MenuPtr InitMenu(EG_EFontPtr font)
  24. {
  25.  
  26.   EI_MenuPtr      menu;
  27.   EI_MenuItemPtr  item1,item2;
  28.   struct TextAttr *attr;
  29.  
  30.   if(font == NULL)
  31.   {
  32.      attr = (struct TextAttr *) EI_GetPrefFont(1);
  33.      font = (EG_EFontPtr)       EG_OpenFont(attr);
  34.  
  35.   }
  36.  
  37.  /** Create a complex menu, which will look like this
  38.  
  39.     +----------------------------+------------+
  40.     | Project                    | Flags      |
  41.     +------------+---------------+-----------++
  42.     +------------+               +-----------+
  43.     | Load     O |               | -/ Flag 1 |
  44.     |  Save... > +--------------+| -/ Flag 2 |
  45.     | Rename     | Save       S ||    Flag 3 |
  46.     | New      N | Save as    A ||    Flag 4 |
  47.     | Close    X | Save & Close ||    Flag 5 |
  48.     | About      +--------------+|    Flag 6 |
  49.     | Quit     Q |               |    Flag 7 |
  50.     +------------+               +-----------+
  51.  
  52.  **/
  53.  
  54.   menu  = EI_CreateMenu();
  55.     item1 = EI_CreateItem(font,"Project",0,0,0);
  56.       EI_AddToItem(item1,EI_CreateLeave());
  57.       EI_AddToItem(item1,EI_CreateItem(font,"Load", 0x1,'O',0));
  58.     item2=EI_CreateItem(font,"Save",0x10,0,0);
  59.       EI_AddToItem(item2,EI_CreateItem(font,"Save"         ,0x11,'S',0));
  60.       EI_AddToItem(item2,EI_CreateItem(font,"Save as"      ,0x12,'A',0));
  61.       EI_AddToItem(item2,EI_CreateItem(font,"Save & Close" ,0x13,'C',0));
  62.     EI_AddToItem(item1,item2);
  63.       EI_AddToItem(item1,EI_CreateItem(font,"New",  0x3,'N',0));
  64.       EI_AddToItem(item1,EI_CreateItem(font,"Close",0x4,'X',0));
  65.       EI_AddToItem(item1,EI_CreateItem(font,"About",0x5,NULL,0));
  66.       EI_AddToItem(item1,EI_CreateItem(font,"Quit" ,0x6,'Q',0));
  67.     EI_AddToMenu(menu,item1);
  68.     item1 = EI_CreateItem(font,"Flags",0,0,0);
  69.       EI_AddToItem(item1,EI_CreateLeave());
  70.       EI_AddToItem(item1,EI_CreateItem(font,"Flag 1",0x20,0,1));
  71.       EI_AddToItem(item1,EI_CreateItem(font,"Flag 2",0x21,0,1));
  72.       EI_AddToItem(item1,EI_CreateItem(font,"Flag 3",0x22,0,1));
  73.       EI_AddToItem(item1,EI_CreateItem(font,"Flag 4",0x23,0,1));
  74.       EI_AddToItem(item1,EI_CreateItem(font,"Flag 5",0x24,0,1));
  75.       EI_AddToItem(item1,EI_CreateItem(font,"Flag 6",0x25,0,1));
  76.       EI_AddToItem(item1,EI_CreateItem(font,"Flag 7",0x26,0,1));
  77.     EI_AddToMenu(menu,item1);
  78.   return(menu);
  79. }
  80.